package fl.ass.service.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import fl.ass.facade.dto.AssTransferInfoDTO;
import fl.ass.service.po.AssTransferInfo;

import java.util.ArrayList;
import java.util.List;


/**
 * @Description: 过户信息表 转换器
 * @Description: 服务层与展现层转换类
 * @Description: 所有的PO只能在持久成和服务层使用
 * @Description: 所有的DTO只能在展现层和服务层使用
 * @Description: 在服务层中向下是DTO转PO, 向上是PO转DTO
 */
public class AssTransferInfoTransform {


    /**
     * PO 转  DTO
     *
     * @param po AssTransferInfo
     * @return AssTransferInfoDTO
     */
    public static AssTransferInfoDTO toDTO(AssTransferInfo po) {
        AssTransferInfoDTO dto = null;
        if (po != null) {
            dto = new AssTransferInfoDTO();
            dto.setId(po.getId());
            dto.setDealId(po.getDealId());//转优车ID
            dto.setPaySchId(po.getPaySchId());//支付表ID
            dto.setPaySchNo(po.getPaySchNo());//支付表号
            dto.setCstId(po.getCstId());//承租人ID
            dto.setCstNm(po.getCstNm());//承租人名称
            dto.setCategoryCd(po.getCategoryCd());//过户项目（ASS0020）
            dto.setScheduleCd(po.getScheduleCd());//过户进度（ASS0019）
            dto.setAmount(po.getAmount());//过户金额
            dto.setRemark(po.getRemark());//备注
            dto.setEstimateTime(po.getEstimateTime());//预计完成时间
            dto.setIsDel(po.getIsDel());//是否删除（1：是，0：否）（SYS0021）

            dto.setCrtTm(po.getCrtTm());//创建时间
            dto.setCrtUsrId(po.getCrtUsrId());//创建人
            dto.setMdfTm(po.getMdfTm());//修改时间
            dto.setMdfUsrId(po.getMdfUsrId());//修改人
        }
        return dto;
    }

    /**
     * DTO 转  PO
     *
     * @param dto AssTransferInfoDTO
     * @return AssTransferInfo
     */
    public static AssTransferInfo toPO(AssTransferInfoDTO dto) {
        AssTransferInfo po = null;
        if (dto != null) {
            po = new AssTransferInfo();
            po.setId(dto.getId());
            po.setDealId(dto.getDealId());//转优车ID
            po.setPaySchId(dto.getPaySchId());//支付表ID
            po.setPaySchNo(dto.getPaySchNo());//支付表号
            po.setCstId(dto.getCstId());//承租人ID
            po.setCstNm(dto.getCstNm());//承租人名称
            po.setCategoryCd(dto.getCategoryCd());//过户项目（ASS0020）
            po.setScheduleCd(dto.getScheduleCd());//过户进度（ASS0019）
            po.setAmount(dto.getAmount());//过户金额
            po.setRemark(dto.getRemark());//备注
            po.setEstimateTime(dto.getEstimateTime());//预计完成时间
            po.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）（SYS0021）

            po.setCrtTm(dto.getCrtTm());//创建时间
            po.setCrtUsrId(dto.getCrtUsrId());//创建人
            po.setMdfTm(dto.getMdfTm());//修改时间
            po.setMdfUsrId(dto.getMdfUsrId());//修改人
        }
        return po;
    }

    /**
     * PO集合 转 DTO集合
     *
     * @param list List<AssTransferInfo>
     * @return List<AssTransferInfoDTO>
     */
    public static List<AssTransferInfoDTO> toDTOList(List<AssTransferInfo> list) {
        List<AssTransferInfoDTO> voList = new ArrayList<AssTransferInfoDTO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (AssTransferInfo po : list) {
                voList.add(toDTO(po));
            }
        }
        return voList;
    }
}
